Chengdu Yingchuan Tecnologia da Informação Co., Ltd.
Casa>Produtos>Pacote de protocolo de comunicação ModBus
Pacote de protocolo de comunicação ModBus
O protocolo Modbus é um protocolo de comunicação universal que já é amplamente utilizado no campo de controle industrial de hoje, e a Inglaterra forne
Detalhes do produto

Introdução ao protocolo ModBus

O protocolo Modbus é um protocolo de comunicação universal amplamente utilizado no campo de controle industrial de hoje. Através deste protocolo, os controladores podem se comunicar entre si ou com outros dispositivos através de uma rede, como Ethernet. O protocolo Modbus usa a tecnologia de comunicação Master-of-the-Device, isto é, a consulta ativa e a operação do dispositivo Master-of-the-Device. O protocolo usado pelo dispositivo principal é geralmente chamado de Modbus Master e o protocolo usado pelo dispositivo é chamado de Modbus Slave. Os equipamentos principais típicos incluem controladores industriais e controladores industriais; Tipo de dispositivos como PLC controlador programável, etc. As interfaces físicas de comunicação Modbus podem ser selecionadas com portas seriais (incluindo RS232 e RS485) ou com portas Ethernet. Sua comunicação segue o seguinte processo:

• O dispositivo principal envia solicitações a partir do dispositivo

• Analise e processe as solicitações do dispositivo principal a partir do dispositivo e, em seguida, envie os resultados para o dispositivo principal

● Se algum erro ocorrer, um código de função anormal será retornado do dispositivo


Introdução ao software de protocolo de comunicação ModBus

Os produtos de software de protocolo de comunicação ModBus lançados pela Intel são usados ​​principalmente no ambiente de placa-mãe incorporada ARM9 da Intel, e todas as placas-mãe de controle industrial da Intel apresentam portas seriais ricas, recursos de rede, interfaces GPIO genéricas, etc., ao mesmo tempo que possuem uma capacidade de processamento poderosa. Em combinação com o software do protocolo de comunicação ModBus, é muito fácil criar uma plataforma de aplicativos Master (Master) e Slave (Device) em conformidade com as especificações de comunicação ModBus. O pacote de protocolo ModBus é dividido em duas partes que podem ser usadas de forma independente, a saber, o "ModBus Master" (abreviado de modbus_Master) e o "ModBus Device Side Protocol" (abreviado de modbus_Slave). Atualmente, o software de protocolo de comunicação ModBus é executado no ambiente WinCE e está disponível como função C e biblioteca LIB estática. As principais características são as seguintes:

Ideal para aplicações industriais em tempo real

● Pode suportar aplicativos de protocolo ModBus baseados em porta serial ou aplicativos de protocolo ModBus baseados em TCP

Modo de transmissão RTU

Suporta a maioria das operações de código de função Modbus, incluindo operações de bits para bobinas, interruptores discretos e operações de bytes para registros

• Suporte para endereços de transmissão

Configuração flexível do tempo limite de comunicação ModBus

● Detalhes dos códigos de erro do protocolo de transmissão podem ser obtidos nas comunicações


Diagrama de comunicação do software ModBus


Código de função suportado pelo software ModBus

Código de função

descrição

1

Leia bobina única

2

Leitura de entradas discretas

3

Ler vários registros

4

Ler registro de entrada

5

Escrever bobinas individuais

6

Escrever um único registro

15

Escrever várias bobinas

16

Escrever vários registros

22

Bloquear registro de gravação

23

Registo de leitura/escrita


Uso básico do software

Para facilitar o uso do aplicativo e manter uma forma de código consistente para os diferentes meios de comunicação, as funções da API no software do protocolo ModBus oferecido pela Intel (incluindo modbus_Master e modbus_Slave) podem suportar simultaneamente os protocolos Modbus baseados em porta serial e TCP, o aplicativo só precisa distinguir por diferentes parâmetros ao chamar a função de inicialização, para instruções sobre os parâmetros, veja os arquivos de cabeçalho correspondentes: modbus_Master.h e modbus_Slave.h


Aplicação de modbus_master

A aplicação como modo cliente do Modbus consiste principalmente em preparar a solicitação e enviar a solicitação para o dispositivo do servidor e esperar a resposta do servidor. Ao desenvolver tais aplicativos, os usuários podem consultar a literatura padrão Modbus e o manual de dados da interface de comunicação do dispositivo controlado, chamando diretamente o pacote modbus_Master fornecido pela Intel para fornecer a função da API operacional correspondente para completar o acesso e controle do dispositivo do servidor. Ao desenvolver tais aplicativos, o usuário só precisa incluir modbus_master.h/modbus_master.lib.


Aplicação do modbus_slave

Como um modelo de servidor ModBus, a aplicação precisa principalmente implementar a análise e resposta às mensagens do aplicativo ModBus, mas isso é apenas uma parte de toda a comunicação do ModBus, e a outra parte também precisa ter acesso aos dados do aplicativo, essa parte do conteúdo precisa ser definida pelo próprio usuário. Para facilitar o uso do cliente, o carregamento automático dessas funções da interface do usuário é implementado na forma de ponteiros de funções no pacote modbus_Slave, associando o processamento de dados do aplicativo do usuário à resposta de mensagens do aplicativo ModBus. O usuário só precisa definir essas funções de interface de acordo com as necessidades para implementar as funções correspondentes, cada função é especificamente definida através de um arquivo CPP dedicado: DataProvider.cpp.


Assim, o desenvolvimento desse tipo de aplicativo deve incluir duas partes do conteúdo, uma parte é a função da API definida por modbus_slave.h/modbus_slave.lib; Outra parte é a função de interface de dados do usuário definida em DataProvider.h / DataProvider.cpp, onde a função de interface requer que o usuário seja implementado especificamente em DataProvider.cpp.


Para responder às mensagens do aplicativo ModBus em tempo útil, é importante notar que durante a programação, um thread deve ser projetado para chamar repetidamente a função de execução modbus_Slave, que é em modo de bloqueio.


Por exemplo:

(1) Iniciar o protocolo do dispositivo modbus

hPort = mbusSlave_StartupServer(_T)'*'), 1, 10000, mbusSlave_Interface );

Ou...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) Chamada de função de execução no thread Serverloop para responder a solicitação

enquanto( 1 )

{

//Chamada de funções de execução para análise e resposta a mensagens ModBus.

resultado = mbusSlave_ServerLoop( hPort );

    se(resultado!=0)//Verificar se retornou um erro

{

      //Resolução de erros: Este exemplo é uma mensagem de texto para obter e imprimir o código de erro

wcscpy( szText, mbusSlave_GetErrorText( resultado ) );

i1 = wcslen( szText );

      se( i1>0 )

{

wcstombs( strText, szText, i1 );

impressão(código de erro: %s! n'Stretex);

}

}

}


Anteriormente, o software do protocolo ModBus oferecido pela Inglaterra foi fornecido aos clientes como função C mais bibliotecas estáticas (arquivos modbus.lib ou libmodbus.a). À medida que cada vez mais clientes usam o protocolo de comunicação ModBus, especialmente o software de protocolo master (abreviado modbus_Master) como biblioteca dinâmica (arquivo modbus_Master.dll ou libmbusmaster.so) pré-instalado no sistema de núcleo de placa-mãe de controle industrial embutido da Intel para facilitar a chamada de aplicativos do cliente. As placas-mãe pré-instaladas com o protocolo Modbus incluem todas as placas-mãe da série ESM (ESM6802, ESM6800, ESM335x, ESM928x, etc.).


Referências relevantes


Aplicações de captação de anel de corrente de 4 a 20mA Software de protocolo de comunicação Modbus sob WinCE

Software de protocolo do lado do dispositivo Modbus sob WinCE Placa-mãe Linux Embedded com suporte ao protocolo Modbus

Introdução ao software Modbus para Linux O ESM6802 suporta o desenvolvimento de programas Qt MODBUS

Protocolo Modbus pré-instalado na placa-mãe
Inquérito em linha
  • Contactos
  • Empresa
  • Telefone
  • E- mail
  • WeChat
  • Código de verificação
  • Conteúdo da Mensagem

Operação bem sucedida!

Operação bem sucedida!

Operação bem sucedida!